#define SENDMESSAGELENGTH 20
char *realid = (char*)0x400000;//addres 400000 t/m 400080 is voor real id's
int nummerids=0;
//initialisatie functies
void sendstartschot(); // startschot versturen
int receiveIDs(); //IDs van auto's ontvangen
void setIDs(int maxid); //zelf IDs aan auto's toekennen
void givedistance(int maxid); //zeggen dat ze data moeten sturen

//main functies
void drive(int id); // auto's laten rijden
void decoderen(); //data decoderen
void coderen(); //data coderen
int check(int maxid); //data controleren


void idcompare(char newid[8]);//test nieuw verkregen lange id, met de reeds verkregen
void send(char* point); //data versturen naar aarde + crickets
void recieve(char* start)//data ontvangen van de crickets

//globale variabelen

char codeddata[20]; //data die we binnenkrijgen
char data[20]; //data die gedecodeerd is
char newdata[SENDMESSAGELENGTH]; //data die we gaan versturen

void main(){
	char a[2]= {1,2};
	char * point = &a[0];
	send(point);
	recieve(point);!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	char teststring[8]="";
	idcompare(teststring);
}

void send(char* start)
{
    char *rs232_port = (char*)0xC00000;//set memory
	int i=0;
	while(i<SENDMESSAGELENGTH){
		
		rs232_port[0] = start[i]; /* write to port */
		i++;

	}
    
}

void recieve(char* start)
{
    char *rs232_port = (char*)0xC00000;//set memory
	int i=0;
	while(i<SENDMESSAGELENGTH){
		
		start[i]=rs232_port[0]; /* write to port */
		i++;

	} 
}

void idcompare(char newid[8]){
	int i=0;
	int j=0;
	int fout=0;

	while(i<nummerids){
		while(j<8){

			if(realid[j+8*i]==newid[j])
				continue;
			else{
				fout=1;
				break;
			}
		j++;	
		}
		if(fout)
			break;
		i++;
	}
	if(fout){
		int i=0;
		while(i<8){
		realid[nummerids*8+i]=newid[i];
		i++;
		}
		nummerids++;
	}

}

